सी डेरेफरन्स पॉईंटर
आम्हाला आधीच माहित आहे की "पॉईंटर म्हणजे काय", पॉईंटर एक व्हेरिएबल आहे जो दुसर्या व्हेरिएबलचा पत्ता संचयित करतो. डेरेफरन्स ऑपरेटरला इंडिरेक्शन ऑपरेटर म्हणून देखील ओळखले जाते, जे (*) द्वारे दर्शविले जाते. जेव्हा पॉईंटर व्हेरिएबलसह इंडिरिक्शन ऑपरेटर (*) वापरला जातो, तेव्हा ते पॉईंटर डेफरेन्सिंग म्हणून ओळखले जाते. जेव्हा आपण पॉईंटरचे वर्णन करतो, तेव्हा या पॉईंटरद्वारे निर्देशित केलेल्या व्हेरिएबलचे मूल्य परत केले जाईल.
आम्ही डीरेफरेन्सिंग पॉईंटर का वापरतो?
खालील कारणांमुळे एक पॉईंटर वापरला जातो: हे मेमरी स्थानावर संग्रहित डेटामध्ये प्रवेश करण्यासाठी किंवा हाताळण्यासाठी वापरले जाऊ शकते, जे पॉईंटरद्वारे निर्देशित केले आहे. डेरेफरेन्स पॉईंटरवर लागू केलेले कोणतेही ऑपरेशन थेट व्हेरिएबलच्या मूल्यावर परिणाम करेल जे त्याकडे निर्देशित करते.
आइए एक सूचक को को को को को त rने के लिए लिए लिए लिए नलिखित नलिखित erणों rणों rणों rणों rणोंa raurीकmषण raीकmषण raerें।
प्रथम, आम्ही पॉईंटर पॉईंट्स ज्या पूर्णांक व्हेरिएबलला घोषित करतो.
paunaZ PKsa =9;
आता आम्ही पूर्णांक पॉईंटर व्हेरिएबल घोषित करतो.
paunaZ *paiTiAar;
पूर्णांक पॉईंटर व्हेरिएबलच्या घोषणेनंतर, आम्ही पॉईंटर व्हेरिएबल 'पीटीआर' वर 'एक्स' व्हेरिएबलचा पत्ता संचयित करतो.
paiTiAar=&PKsa;
खाली दिलेल्या प्रमाणे पॉईंटर 'पीटीआर' डीरेफरेंसिंग करून आम्ही 'एक्स' व्हेरिएबलचे मूल्य बदलू शकतो:
*paiTiAar =8;
वरील ओळ 'एक्स' व्हेरिएबलचे मूल्य 9 ते 8 पर्यंत बदलते कारण 'पीटीआर' 'पीटीआर' च्या 'एक्स' स्थान आणि डेरेफरेन्सिंगला सूचित करते, म्हणजेच, *पीटीआर = 8 एक्सचे मूल्य अद्यतनित करेल.
वरील सर्व चरण एकत्र करूया:
#vaapara <PsaTidiAayaAae.Pca>
paunaZ mauqya()
{
paunaZ PKsa=9;
paunaZ *paiTiAar;
paiTiAar=&PKsa;
*paiTiAar=8;
laiha("maulya cyaa x Aahe : %paunaZ", PKsa);
vaapasakra 0;}
#vaapara <PsaTidiAayaAae.Pca>
paunaZ mauqya()
{
paunaZ PKsa=4;
paunaZ vaaya;
paunaZ *paiTiAar;
paiTiAar=&PKsa;
vaaya=*paiTiAar;
*paiTiAar=5;
laiha("D maulya cyaa x Aahe : %paunaZ",PKsa);
laiha("\n D maulya cyaa y Aahe : %paunaZ",vaaya);
vaapasakra 0;
}
वरील कोडमध्ये:
आम्ही 'एक्स' आणि 'वाय' दोन व्हेरिएबल्स घोषित करतो जिथे 'एक्स' मध्ये '4' मूल्य आहे. आम्ही पॉईंटर व्हेरिएबल 'पीटीआर' घोषित करतो. पॉईंटर व्हेरिएबलच्या घोषणेनंतर, आम्ही 'एक्स' व्हेरिएबलचा पत्ता पॉईंटर 'पीटीआर' वर नियुक्त करतो. आम्हाला माहित आहे की 'पीटीआर' मध्ये 'एक्स' व्हेरिएबलचा पत्ता आहे, म्हणून '*पीटीआर' 'एक्स' सारखाच आहे. आम्ही 'पीटीआर' व्हेरिएबलच्या मदतीने 'x' चे मूल्य 'y' ला नियुक्त करतो, म्हणजेच, y =*ptr 'x' व्हेरिएबल वापरण्याऐवजी.
टीपः आमच्या मते, जर आपण 'एक्स' चे मूल्य बदलले तर 'वाय' चे मूल्य देखील बदलले जाईल कारण पॉईंटर 'पीटीआर' मध्ये 'एक्स' व्हेरिएबलचा पत्ता आहे. परंतु असे घडत नाही, कारण 'वाय' मूल्य '5' ची स्थानिक प्रत संचयित करीत आहे.
चला दुसर्या परिस्थितीचा विचार करूया.
आइए एक rear raurिदृशmय raur raur raurें।
#vaapara <PsaTidiAayaAae.Pca>
paunaZ mauqya()
{
paunaZ A=90;
paunaZ *paiTiAarR1,*paiTiAarR2;
paiTiAarR1=&A;
paiTiAarR2=&A;
*paiTiAarR1=7;
*paiTiAarR2=6;
laiha("D maulya cyaa a Aahe : %paunaZ",A);
vaapasakra 0;
}
वरील कोडमध्ये:
टीपः आपल्याकडे एकाच ठिकाणी एकापेक्षा जास्त पॉईंटर असल्यास, तर एका पॉईंटरने केलेला बदल दुसर्या पॉईंटर प्रमाणेच असेल.